<?php
/**
 * 数据库连接测试文件
 * 使用方法：浏览器访问本文件地址即可
 */

// 数据库配置参数
$host = 'localhost';      // 数据库服务器地址
$dbname = 'user_management'; // 要连接的数据库名称
$username = 'root';       // 数据库用户名
$password = 'root';       // 数据库密码

try {
    // 创建PDO连接实例
    $pdo = new PDO(
        "mysql:host=$host;dbname=$dbname;charset=utf8mb4",
        $username,
        $password,
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,  // 错误模式设为异常
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认获取模式为关联数组
            PDO::ATTR_EMULATE_PREPARES => false          // 禁用预处理模拟
        ]
    );
    
    // 执行测试查询
    $stmt = $pdo->query("SELECT 1 AS connection_test");
    $result = $stmt->fetch();

    // 输出成功信息
    echo "<h2 style='color: green;'>数据库连接成功！</h2>";
    echo "<p>数据库版本：" . $pdo->getAttribute(PDO::ATTR_SERVER_VERSION) . "</p>";
    echo "<p>连接测试结果：" . $result['connection_test'] . "</p>";

} catch (PDOException $e) {
    // 输出错误信息
    echo "<h2 style='color: red;'>数据库连接失败</h2>";
    echo "<p><strong>错误信息：</strong><br>" . $e->getMessage() . "</p>";
    
    // 调试建议
    echo "<div style='background: #ffe6e6; padding: 15px; margin: 15px 0; border-radius: 5px;'>";
    echo "<h3>排错建议：</h3>";
    echo "<ol>
            <li>确认MySQL服务是否运行</li>
            <li>检查用户名/密码是否正确</li>
            <li>确认数据库是否存在（当前尝试连接的数据库：{$dbname}）</li>
            <li>检查防火墙设置（3306端口是否开放）</li>
            <li>尝试使用127.0.0.1代替localhost</li>
          </ol>";
    echo "</div>";
}